from netfilterqueue import NetfilterQueue

from flow_correctness import *

flow_correctness = FlowCorrectness(None, 0, 'GatewayOut-F')

_pkt = b'E\x00\x00^\x00\x01\x00\x00@\x06G\x06\xac\x11\x00\x02$\x91b\xef\x1f@M\xf1\x00\x00\x00\x00\x00\x00\x00\x00P\x02 \x00\xf8\x0f\x00\x00abcdefffffffffffffff\x00\x00\x00\x01\x00\x00+f\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x1d\xc2\x99@\xd3\xb1v\x91\xaa\x1b\xd0!\x0c\x0c\x8d\r'


def print_and_accept(pkt):
    # print(pkt)
    out_pkt = flow_correctness.exit_gateway(_pkt)
    # pkt.set_payload(out_pkt)
    pkt.accept()


queue = NetfilterQueue()
queue.bind(1, print_and_accept, max_len=8192)
try:
    queue.run()
except KeyboardInterrupt:
    queue.unbind()
